昨天介紹完機器學習的相關概念,今天來講解一下,資料在電腦的世界的處理流程。
當大量資料出現
步驟一:資料前置處理
清理離群值、異常值或空值的資料,如在資料預測屬性中(1:男性,2:女性),若在該屬性資料中出現4,則此筆資料是未定義性別,因此需刪除此筆異常值資料。
# isnull()當缺失值位置為True,非缺失值位置為False的DataFrame
dataframe = df.isnull()
# 刪除缺失的行
df_nan_row = df.dropna(axis=0)
# 刪除缺失的列(一般不因為某列有缺失值就刪除列,因為列常代表某指標,但可能會因為該列近全部的資料皆為空值時,回刪除該列資料)
df_nan_col = df.dropna(axis=1)
# 以平均值替代缺失值
df1_fill_lack2 = df1.fillna(df1.mean())
# drop_duplicates()直接對重複資料(行)進行刪除
df_isdup = df.duplicated()
步驟二:資料降維
蒐集到的資料屬性多,不一定每一項資料都會影響資料的預測結果,因此,我們在資料降維的步驟中,將不必要或影像不大的資料欄位刪除。
步驟三:模型訓練
在模型訓練中,我們要先觀察資料的狀態,依照資料的呈現方式可以將訓練方式分為監督式學習、非監督式學習、增強式學習三大項。在監督式學習上,指每一項資料進入演算法訓練後都有相對應的目標值;而非監督式演算法是沒有目標值,訓練方式是依賴資料的特徵,將資料進行分群歸納;而增強式演算法主要強調不斷的學習以增強模型,隱藏式馬可夫鏈是增強式學習常見的演算法。
步驟四:模型評估
當機器學習後,會評判這個模型的訓練的結果到底好不好,符不符合預期,因此,可以透過混淆矩陣、F1 Score等參考值來評判該模型。
最後,將要預測的資料丟入訓練完成的模型中,讓模型預測出結果。
https://developers.google.com/machine-learning/crash-course/framing/ml-terminology
上一篇的生活經驗舉例,是要在正常不是路癡的人才適用XD
不然,對於路痴不管你走過再多次的路,都還是會迷路
明日講解內容:資料標準化